package com.xianzhiOA.bean;

import com.xianzhiOA.service.XzProjectService;
import com.xianzhiOA.valid.ValidById;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.GroupSequence;
import java.util.Date;
import java.util.List;

/**
 * Project
 *
 * @author 甘汝雷
 * @create 2017-04-19 10:17
 **/
public class XzProject {
    private Long projectId;
    //项目名
//    @NotEmpty(message="项目名: 不能为空",groups = {F1.class})
//    @ValidById(serviceClazz = XzProjectService.class,message = "项目名不能重复!",methodName = "selByPn",groups = {F2.class})
    private String projectName;
    //项目描述
    private String projectDescribe;
    //负责人
    private Long projectOfficial;
    //审核人
    private Long projectAudit;
    private String field1;
    private String field2;
    private String field3;
    private Date deleteTime;
    private int isdelete;
    //创建时间
    private Date createTime;
    private XzEmp emp;
    private XzEmp emp1;
    private String official;
    private String audit;

    public XzEmp getEmp1() {
        return emp1;
    }

    public void setEmp1(XzEmp emp1) {
        this.emp1 = emp1;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getProjectDescribe() {
        return projectDescribe;
    }

    public void setProjectDescribe(String projectDescribe) {
        this.projectDescribe = projectDescribe;
    }

    public Long getProjectOfficial() {
        return projectOfficial;
    }

    public void setProjectOfficial(Long projectOfficial) {
        this.projectOfficial = projectOfficial;
    }

    public Long getProjectAudit() {
        return projectAudit;
    }

    public void setProjectAudit(Long projectAudit) {
        this.projectAudit = projectAudit;
    }

    public String getField1() {
        return field1;
    }

    public void setField1(String field1) {
        this.field1 = field1;
    }

    public String getField2() {
        return field2;
    }

    public void setField2(String field2) {
        this.field2 = field2;
    }

    public String getField3() {
        return field3;
    }

    public void setField3(String field3) {
        this.field3 = field3;
    }

    public Date getDeleteTime() {
        return deleteTime;
    }

    public void setDeleteTime(Date deleteTime) {
        this.deleteTime = deleteTime;
    }

    public int getIsdelete() {
        return isdelete;
    }

    public void setIsdelete(int isdelete) {
        this.isdelete = isdelete;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public XzEmp getEmp() {
        return emp;
    }

    public void setEmp(XzEmp emp) {
        this.emp = emp;
    }

    public String getOfficial() {
        return official;
    }

    public void setOfficial(String official) {
        this.official = official;
    }

    public String getAudit() {
        return audit;
    }

    @Override
    public String toString() {
        return "XzProject{" +
                "projectId=" + projectId +
                ", projectName='" + projectName + '\'' +
                ", projectDescribe='" + projectDescribe + '\'' +
                ", projectOfficial=" + projectOfficial +
                ", projectAudit=" + projectAudit +
                ", field1='" + field1 + '\'' +
                ", field2='" + field2 + '\'' +
                ", field3='" + field3 + '\'' +
                ", deleteTime=" + deleteTime +
                ", isdelete=" + isdelete +
                ", createTime=" + createTime +
                ", emp=" + emp +
                ", emp1=" + emp1 +
                ", official='" + official + '\'' +
                ", audit='" + audit + '\'' +
                '}';
    }

    public void setAudit(String audit) {
        this.audit = audit;
    }

    //验证分组1
    public interface F1{

    }
    //验证分组2
    public interface F2{

    }
    //组序列
    @GroupSequence( { F1.class, F2.class })
    public interface Group {

    }
}
